package com.zt.service;

import com.zt.entity.Coupons;
import java.util.List;

/**
 * 管理端优惠券缓存服务接口
 * 只处理coupons:开头的键
 */
public interface AdminCouponCacheService {
    
    /**
     * 缓存管理端优惠券列表到coupons:admin:list键
     * 根据优惠券的endTime设置TTL
     * @param coupons 优惠券列表
     */
    void cacheAdminCouponList(List<Coupons> coupons);
    
    /**
     * 获取管理端缓存的优惠券列表
     * @return 优惠券列表，如果缓存不存在返回null
     */
    List<Coupons> getCachedAdminCouponList();
    
    /**
     * 清除管理端优惠券列表缓存
     */
    void clearAdminCouponListCache();
    
    /**
     * 根据优惠券时间计算TTL（秒）
     * @param coupons 优惠券列表
     * @return TTL秒数
     */
    long calculateCouponListTTL(List<Coupons> coupons);
}
